/**
 * @Author:  renyc
 * @Date: 2022年12月6日15:40:11
 */
'use strict';

import ChartLayer from "./ChartLayer";
import ChartType from "./ChartType";

/**
 * @deprecated
 */
class BarChartLayer extends ChartLayer{
    constructor(name, options){
        super(name, options);
        this._chartType = ChartType.BAR;
    }

    setData(data){
        if(this._echarts){
            let options = this._buildEChartOptions(data);
            if(options){
                this._echarts.setOption(options);
            }
        }
    }

    // _buildEChartOptions(data){
    //     if(!data){
    //         return;
    //     }

    //     let labels = this._buildLabels(data);
    //     let values = this._buildValues(data);

    //     return {
    //         title: {
    //           text: 'World Population'
    //         },
    //         tooltip: {
    //           trigger: 'axis',
    //           axisPointer: {
    //             type: 'shadow'
    //           }
    //         },
    //         legend: {},
    //         grid: {
    //           left: '3%',
    //           right: '4%',
    //           bottom: '3%',
    //           containLabel: true
    //         },
    //         xAxis: {
    //           type: 'value',
    //           boundaryGap: [0, 0.01]
    //         },
    //         yAxis: {
    //           type: 'category',
    //           data: labels
    //         },
    //         series: [
    //           {
    //             name: '2011',
    //             type: 'bar',
    //             data: values
    //           }
    //         ]
    //       };
    // }

    _buildEChartOptions(data){
        if(!data){
            return;
        }

        let labels = this._buildLabels(data);
        let values = this._buildValues(data);

        return {
            animation: !1,
            /////////////////////////////////////////////////
            //定义echarts的canvas的背景色
            backgroundColor: 'rgba(17, 19, 42, 0.0)',
            /////////////////////////////////////////////////
            //定义titlebar
            title: [{
              id: 'statistic',
              text: this._getTitle(),
              right: 120,
              top: 40,
              width: 100,
              color: '#fff', 
              fontSize: 16
            }],
            tooltip: { trigger: 'item' },
            grid: { right: 40, top: 100, bottom: 40, width: '30%' },
            xAxis: {
                type: 'value',
                scale: !0,
                position: 'top',
                boundaryGap: !1,
                splitLine: { show: !1 },
                axisLine: { show: !1 },
                axisTick: { show: !1 },
                axisLabel: { 
                    margin: 2, 
                    color: '#aaa' 
                }
            },
            yAxis: {
                type: 'category',
                nameGap: 16,
                axisLine: { show: !0, lineStyle: { color: '#ddd' } },
                axisTick: { show: !1, lineStyle: { color: '#ddd' } },
                axisLabel: { 
                    interval: 0, 
                    color: '#ddd' 
                },
                data: labels
            },
            series: [{
                id: 'bar',
                zlevel: 2,
                type: 'bar',
                symbol: 'none',
                itemStyle: { 
                    color: '#ddb926' 
                },
                data: values
            }]
          }
    }

    /**
     * 根据data构造Y轴的Label
     * @param {} data 
     */
    _buildLabels(data){
        let labels = [];
        data.forEach(item=>{
            labels.push(item.name);
        })
        return labels;
    }

    _buildValues(data){
        let values = [];
        data.forEach(item=>{
            values.push(item.value);
        })
        return values;
    }

    _getTitle(){
        return "统计数据"
    }
}

export default BarChartLayer

/**
 * SampleData
[{
	"name": "三亚",
	"value": 1135
}, {
	"name": "昆山",
	"value": 1894
}, {
	"name": "惠州",
	"value": 1973
}, {
	"name": "珠海",
	"value": 2186
}, {
	"name": "海口",
	"value": 2568
}, {
	"name": "长春",
	"value": 3016
}, {
	"name": "南昌",
	"value": 3025
}, {
	"name": "东莞",
	"value": 3030
}, {
	"name": "哈尔滨",
	"value": 3141
}, {
	"name": "南宁",
	"value": 3157
}, {
	"name": "大连",
	"value": 3202
}, {
	"name": "厦门",
	"value": 3329
}, {
	"name": "无锡",
	"value": 3393
}, {
	"name": "合肥",
	"value": 4039
}, {
	"name": "太原",
	"value": 4080
}, {
	"name": "济南",
	"value": 4361
}, {
	"name": "沈阳",
	"value": 4540
}, {
	"name": "福州",
	"value": 4542
}, {
	"name": "昆明",
	"value": 4633
}, {
	"name": "长沙",
	"value": 5303
}, {
	"name": "杭州",
	"value": 5632
}, {
	"name": "佛山",
	"value": 5741
}, {
	"name": "石家庄",
	"value": 6137
}, {
	"name": "青岛",
	"value": 6667
}, {
	"name": "郑州",
	"value": 6690
}, {
	"name": "苏州",
	"value": 6707
}, {
	"name": "南京",
	"value": 6959
}, {
	"name": "西安",
	"value": 6991
}, {
	"name": "深圳",
	"value": 8259
}, {
	"name": "天津",
	"value": 8626
}, {
	"name": "武汉",
	"value": 8678
}, {
	"name": "重庆",
	"value": 13283
}, {
	"name": "成都",
	"value": 13873
}, {
	"name": "广州",
	"value": 15769
}, {
	"name": "上海",
	"value": 19780
}, {
	"name": "北京",
	"value": 20259
}]
 */